A Symmetric Multi-Processing (SMP) system is generally a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory. The processors are symmetric in the sense that each processor is identical and each has full access to the entire memory. Most common multiprocessor systems today use SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors. Processors may be interconnected using buses, crossbar switches, on-chip mesh networks, or using other communication link. Generally, in systems with more than one SMP, each SMP does not have direct access to the memories of the other SMPs.
A multi-SMP system is comprised of a plurality of SMP nodes, each of which is an SMP in itself.
A Distributed SMP system (DSMP) is an extension of a multi-SMP system, where a new SMP. also referred to as a logical SMP, is formed by a subset of the processors of two or more existing SMPs. The memory of the new SMP may be comprised of portions of the memories of each of the existing SMPs. Other processors, which are not part of the new SMP, may be restricted from accessing the memory of the new SMP. The processors which participate in both SMPs (i.e., existing SMP and new SMP), may have direct access to the memory of the existing SMP as well as to that of the new SMP.
While the DSMP is generally configured based on a plurality of SMP nodes, each hardware component is not symmetric by itself. For example, in an SMP node, some of the processors have access to the memory of both the SMP node and the new SMP, while other processors can access only the memory of the SMP nodes.